package com.frejoys.common.vo.order;

import com.frejoys.common.vo.app.GoodsListVo;
import com.frejoys.common.vo.app.GoodsNameAndCoverVo;
import com.frejoys.common.vo.app.GoodsVo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author wangzhicheng
 * @version 1.0
 * @date 2024/4/25 15:20
 */
@Data
public class UserOrderPageVo {


    @Schema(type = "Integer", name = "id", description = "订单id")
    private Integer id;

    // 用户id
    @Schema(type = "Long", name = "userId", description = "用户id")
    private Long userId;

    //下单用户
//    @Schema(type = "String", name = "nickname", description = "昵称")
//    private String nickname;

    // 店铺id
    @Schema(type = "Integer", name = "storeId", description = "店铺id")
    private Integer storeId;

    //店名
    @Schema(type = "String", name = "storeName", description = "店名")
    private String storeName;

    // 店谱Logo
    @Schema(type = "String", name = "logo", description = "店谱Logo")
    private String logo;

    @Schema(type = "Integer", name = "storeName", description = "店类型：0普通店，1品牌店")
    private Integer storeType;

    // 店铺活动id
    @Schema(type = "Integer", name = "storeActivityId", description = "店铺活动id")
    private Integer storeActivityId;

    // 活动名称
    @Schema(type = "String", name = "activityName", description = "活动名称", required = true, defaultValue = "排队免单")
    private String activityName;

    // 订单编号
    @Schema(type = "Long", name = "orderSn", description = "订单编号")
    private Long orderSn;

    // 金额
    @Schema(type = "BigDecimal", name = "price", description = "金额")
    private BigDecimal price;

    // 支付类型：1微信支付
    @Schema(type = "Integer", name = "payType", description = "支付类型：1微信支付")
    private Integer payType;

    // 支付状态：支付状态：0待支付，1已支付，2.退款中，3已退款
    @Schema(type = "Integer", name = "payStatus", description = "支付状态：0待支付，1已支付，2.退款中，3已退款")
    private Integer payStatus;

    // 支付时间（Unix 时间戳）
    @Schema(type = "Integer", name = "payTime", description = "支付时间")
    private Integer payTime;

    // 订单状态：0待收货，1已收货
    @Schema(type = "Integer", name = "receive", description = "订单状态：0待收货，1已收货")
    private Integer receive;

    // 核销状态：0待核销，1已核销
    @Schema(type = "Integer", name = "verify", description = "核销状态：0待核销，1已核销")
    private Integer verify;

    // 转换积分：0待转换，1已转换
    @Schema(type = "Integer", name = "isScore", description = "转换积分：0待转换，1已转换")
    private Integer isScore;

    // 核销码
    @Schema(type = "String", name = "qrCode", description = "核销码")
    private String qrCode;

    // 创建时间（Unix 时间戳）
    @Schema(type = "Integer", name = "createTime", description = "创建时间")
    private Integer createTime;

    @Schema(type = "List<GoodsNameAndCoverVo>", name = "goodsListVos", description = "商品信息")
    private List<GoodsNameAndCoverVo> goodsListVos;

    @Schema(type = "Integer", name = "goodsNum", description = "商品总数量")
    private Integer goodsNum;


    @Schema(type = "Integer", name = "nowSort", description = "当前排队位置", required = true, defaultValue = "1")
    private Integer nowSort;

    @Schema(type = "BigDecimal", name = "money", description = "活动当前金额", required = true, defaultValue = "1")
    private BigDecimal money;

//    //店铺活动
//    @Schema(type = "StoreActivityQueueVo", name = "queueVo", description = "店铺活动")
//    private StoreActivityQueueVo queueVo;
}
